Control modules are used to control the operation of one or more components of a vehicle. For example, the control module may function as an engine control module that manages a fuel control system or powertrain of the vehicle. Generally, the control module implements a control program and may include a boot program, an application program, and calibration data. The memory may be erased and/or rewritten in order to replace or update the control program.
Referring now to FIG. 1, a control module management system 10 includes one or more control modules 12-1, 12-2, 12-3, . . . , and 12-x, referred to collectively as control modules 12. The control modules 12 communicate with various vehicle components 14-1, 14-2, 14-3, . . . , and 14-y, referred to collectively as vehicle components 14. The control modules 12 communicate with the other control modules 12 via a communication interface, such as a vehicle communication bus 16. A data rewriting device 18 uses the vehicle communication bus 16 to communicate with the control modules 12. For example, the data rewriting device 18 may rewrite (i.e. erase or update) the control program of the control module 12-1. Additionally, the data rewriting device 18 may communicate with the control module 12-1 to determine information about the control program currently residing thereon. The control program may include information that is indicative of itself or the control module 12-1. For example, the information may include, but is not limited to, software versions of the boot program, application program, or calibration data, dates of previous programming events, and/or hardware information.